package br.com.condominio.entity;
// default package
// Generated 19/04/2012 00:12:16 by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Responsavel generated by hbm2java
 */
@Entity
@Table(name = "responsavel")
public class Responsavel implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private BigDecimal respCodigo;
	private Funcao funcao;
	private Pessoa pessoa;
	private Bloco bloco;
	private Date respInicio;
	private Date respFim;

	public Responsavel() {
	}

	public Responsavel(BigDecimal respCodigo, Funcao funcao, Pessoa pessoa,
			Bloco bloco, Date respInicio) {
		this.respCodigo = respCodigo;
		this.funcao = funcao;
		this.pessoa = pessoa;
		this.bloco = bloco;
		this.respInicio = respInicio;
	}

	public Responsavel(BigDecimal respCodigo, Funcao funcao, Pessoa pessoa,
			Bloco bloco, Date respInicio, Date respFim) {
		this.respCodigo = respCodigo;
		this.funcao = funcao;
		this.pessoa = pessoa;
		this.bloco = bloco;
		this.respInicio = respInicio;
		this.respFim = respFim;
	}

	@Id
	@Column(name = "resp_codigo", unique = true, nullable = false, precision = 131089, scale = 0)
	public BigDecimal getRespCodigo() {
		return this.respCodigo;
	}

	public void setRespCodigo(BigDecimal respCodigo) {
		this.respCodigo = respCodigo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "func_codigo", nullable = false)
	public Funcao getFuncao() {
		return this.funcao;
	}

	public void setFuncao(Funcao funcao) {
		this.funcao = funcao;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "pesso_codigo", nullable = false)
	public Pessoa getPessoa() {
		return this.pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "blo_codigo", nullable = false)
	public Bloco getBloco() {
		return this.bloco;
	}

	public void setBloco(Bloco bloco) {
		this.bloco = bloco;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "resp_inicio", nullable = false, length = 29)
	public Date getRespInicio() {
		return this.respInicio;
	}

	public void setRespInicio(Date respInicio) {
		this.respInicio = respInicio;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "resp_fim", length = 29)
	public Date getRespFim() {
		return this.respFim;
	}

	public void setRespFim(Date respFim) {
		this.respFim = respFim;
	}

}
